package tp1
import scala.beans.BeanProperty
import java.util.HashSet
import scala.collection.mutable.Set
class Grupo(var integrantes: Set[Persona], var actividades: Set[Actividad]) {
  def montoTotal(): Int =
    {
      this.actividades.foldLeft(0)((suma, x) => suma + x.monto)
    }
  def actividadesAprobadas(): Set[Actividad] = {

    this.actividades.filter(a => a.actividadesAprobadas)
  }
  def actividadesNoAprobadas(): Set[Actividad] = {

    this.actividades.filter(a => !(a.actividadesAprobadas))
  }
  def articulosDEProyectos(): Set[Evento] = {

    var proyectos = this.actividades.filter(this.esProyecto(_))
    proyectos.foldLeft[Set[Evento]](Set())(_ ++= _.articulos)

  }

  def esProyecto(actividad: Actividad): Boolean = actividad match {
    case p: Proyecto => true
    case _ => false
  }
  def agendaDeActividadesGrupo(persona: Persona): Set[Actividad] = {

    return this.actividades.filter(a => a.participa(persona))

  }

}

//object Grupo extends Application{
//  var seminario = new Seminario(Set(),new Docente("Alfredo"),Set(new Docente("Alfredo")), 100 )
//  var grupo = new Grupo(Set(new Docente("Alfredo")), seminario )
//}